package org.mall.modules.order.service;

import org.mall.modules.pojo.order.bo.OrderCommentInfoBO;
import org.mall.modules.pojo.order.bo.OrderCommentPageBO;
import org.mall.modules.pojo.order.bo.OrderCommentStateInfoPageBO;
import org.mall.modules.pojo.order.bo.OrderCommentTimeOutBO;
import org.mall.modules.pojo.order.dto.OrderCommentCreateDTO;
import org.mall.modules.pojo.order.dto.OrderCommentPageDTO;
import org.mall.modules.pojo.order.dto.OrderCommentStateInfoPageDTO;
import org.mall.modules.pojo.order.dto.OrderCommentTimeOutPageDTO;

import java.util.List;

/**
 * 订单评论模块
 *
 * @author wtz
 * @time 2019-05-14 22:10
 */
public interface OrderCommentService {

    /**
     * 评论创建
     * @param orderCommentCreateDTOs
     * @return
     */

    Boolean createOrderComment(List<OrderCommentCreateDTO> orderCommentCreateDTOs);

    /**
     * 获取评论列表的分页
     * @param orderCommentPageDTO
     * @return
     */
    OrderCommentPageBO getOrderCommentPage(OrderCommentPageDTO orderCommentPageDTO);


    /**
     * 获取评论详情
     * @param commentId
     * @return
     */
    OrderCommentInfoBO getOrderCommentInfo(Integer commentId);


    /**
     * 获取订单评论状态详情
     * @param orderCommentStateInfoPageDTO
     * @return
     */
    OrderCommentStateInfoPageBO getOrderCommentStateInfoPage(OrderCommentStateInfoPageDTO orderCommentStateInfoPageDTO);

    /**
     * 获取订单评论超时分页
     * @param orderCommentTimeOutPageDTO
     * @return
     */
    List<OrderCommentTimeOutBO> getOrderCommentTimeOutPage(OrderCommentTimeOutPageDTO orderCommentTimeOutPageDTO);


    /**
     * 批量更新订单评论状态
     * @param orderCommentTimeOutBOList
     */
    void updateBatchOrderCommentState(List<OrderCommentTimeOutBO> orderCommentTimeOutBOList);



}
